package net.csdn.business.common.oauth2.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import net.csdn.business.common.domain.request.oauth.NewOauthCodeDTO;
import net.csdn.business.common.domain.request.oauth.OauthCodeQuery;
import net.csdn.business.common.domain.request.oauth.UpdateOauthCodeDTO;
import net.csdn.business.common.domain.vo.oauth.OauthCodeVO;

import java.util.List;

/**
 * 授权码Service接口
 * 
 * @author zhangyl
 * @date 2022-11-08
 */
public interface IOauthCodeService
{

    /**
     * 分页查询授权码
     *
     * @param query 授权码详细信息
     * @return 授权码
     */
    public IPage<OauthCodeVO> findPageList(OauthCodeQuery query);

    /**
     * 根据id查询授权码详细信息
     * 
     * @param id 授权码主键
     * @return 授权码
     */
    public OauthCodeVO selectOauthCodeById(String id);


    /**
     * 根据id查询授权码详细信息
     *
     * @param code 授权码
     * @return 授权码
     */
    public OauthCodeVO selectOauthCodeByCode(String code);

    /**
     * 查询授权码列表
     * 
     * @param query 授权码
     * @return 授权码集合
     */
    public List<OauthCodeVO> selectOauthCodeList(OauthCodeQuery query);

    /**
     * 新增授权码
     * 
     * @param oauthCode 授权码
     * @return 结果
     */
    public Integer insertOauthCode(NewOauthCodeDTO oauthCode);

    /**
     * 修改授权码
     * 
     * @param oauthCode 授权码
     * @return 结果
     */
    public Integer updateOauthCode(UpdateOauthCodeDTO oauthCode);

    /**
     * 删除授权码信息
     * 
     * @param id 授权码主键
     * @return 结果
     */
    public Integer deleteOauthCodeById(String id);

    /**
     * 删除授权码信息
     *
     * @param code 授权码
     * @return 结果
     */
    public Integer deleteOauthCodeByCode(String code);
}
